home *** CD-ROM | disk | FTP | other *** search
Text File | 2001-02-20 | 1.6 KB | 65 lines | [AMAS/AMAP] |
- // -* ChangeGeometryBehavior.js *-
- //
- // Name: ChangeGeometry behavior
- // Description:
- // Author:
- // Version: $Id: ChangeGeometryBehavior.js,v 1.5 2000/12/21 15:03:30 consumer Exp $
- //
-
- // Keep an array of the solids using this behavior
- var changeGeometrySolids = new Array(1);
-
- function ChangeGeometryBehavior(solidName, geom, geomName)
- {
- // Member methods of the behavior
- this.start = ChangeGeometryBehaviorStart;
- this.stop = ChangeGeometryBehaviorStop;
-
- // Member variables of the behavior
- this.solidID = solidName;
- this.geomID = geom;
- this.geomName = geomName;
- }
-
- function ChangeGeometryBehaviorStart()
- {
- // Destroy the geom node
- TSRemoveNode(this.geomID);
-
- var newGeomID = TSMakeUniqID("Geom");
- TSMakeGeomURL(newGeomID, "ThreeSpaceTest.z3d", this.geomName);
-
- TSAppendChild(this.solidID, newGeomID);
- TSUpdateNode(newGeomID);
- }
-
- function ChangeGeometryBehaviorStop()
- {
- }
-
- //
- // Event functions
- //
-
- function ChangeGeometryBehaviorStartEvent(obj, event)
- {
- if (changeGeometrySolids[obj] == null) {
- var geomName = TSGetExtraParam(event, 'geomName');
- var geom = TSGetExtraParam(event, 'geom');
- var scale = TSGetExtraParam(event, 'scale');
- var targetSolid = TSGetExtraParam(event, 'targetSolid');
-
- if (targetSolid == "")
- changeGeometrySolids[obj] = new ChangeGeometryBehavior(obj, geom, geomName, scale);
- else
- changeGeometrySolids[obj] = new ChangeGeometryBehavior(targetSolid, geom, geomName, scale);
- }
-
- changeGeometrySolids[obj].start();
- changeGeometrySolids[obj] = null;
- }
-
- function ChangeGeometryBehaviorStopEvent(obj, event)
- {
- }
-